import { defineStore } from "pinia";
import { computed, ref } from "vue";

// export const useCountStore = defineStore('count', {
//     // state() 是真正存数据的地方
//     state() {
//         return {
//             sum: 0,
//             school: 'atguigu',
//             location: '宏福科技园'
//         };
//     },
//     // actions里面都是一个一个的方法，用于响应组件中的“动作”
//     actions: {
//         increment(value: number) {
//             console.log('increment被调用了', value);
//             // this是当前的store
//             this.sum += value;
//         }
//     },
//     getters: {
//         // 用法和计算属性基本一致
//         bigSum: (state) => state.sum * 10,
//         upperSchool(): string {
//             console.log('@@@@', this);
//             return this.school.toUpperCase();
//         }
//     }
// });

// 组合式写法
export const useCountStore = defineStore('count', () => {
    const sum = ref(0);
    const school = ref('atguigu');
    const location = ref('宏福科技园');

    function increment(value: number) {
        console.log('increment被调用了', value);
        sum.value += value;
    }

    const bigSum = computed(() => {
        return sum.value * 10;
    });
    const upperSchool = computed(() => {
        return school.value.toUpperCase();
    });

    return { sum, school, location, increment, bigSum, upperSchool }
});